package models

import (
	"github.com/beego/beego/v2/client/orm"
)

type Book struct {
	Id int `json:"id"`
	Title string `json:"title"`
	Summary string `json:"summary"`
	Author string `json:"author"`
}

// User struct
type UserProfile struct {
	Id          int    `orm:"column(id);auto;size(11)" description:"表ID" json:"id"`
	Name        string  `orm:"column(name);size(30)" description:"名字" json:"name"`
	Age         int     `orm:"column(age);size(12)" description:"年龄" json:"age"`
	Profile     string  `orm:"column(profile);size(300)" description:"性格" json:"profile"`
	CreateTime  int    `orm:"column(create_time);size(10);default(0)" description:"操作时间"`
	UpdateTime  int    `orm:"column(update_time);size(10);default(0)" description:"更新时间"`
	//Posts    	*User `orm:"column(posts);size(10);default(0);rel(one)"` // 设置一对一的关系

}

// TableName 自定义table 名称
func (*UserProfile) TableName() string {
	return "user_profile"
}

// SearchField 定义模型的可搜索字段
func (*UserProfile) SearchField() []string {
	return []string{"name", "age", "profile"}
}

// NoDeletionId 禁止删除的数据id
func (*UserProfile) NoDeletionId() []int {
	return []int{1}
}

// WhereField 定义模型可作为条件的字段
func (*UserProfile) WhereField() []string {
	return []string{"name","age","profile"}
}

// TimeField 定义可做为时间范围查询的字段
func (*UserProfile) TimeField() []string {
	return []string{"create_time"}
}

//在init中注册定义的model
func init() {
	orm.RegisterModel(new(UserProfile))
}
